package com.xueyi.operations.domain.po;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.operations.domain.dto.OpMakerInfoDto;
import com.xueyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;
import static com.xueyi.common.core.constant.basic.EntityConstants.STATUS;
import static com.xueyi.common.core.constant.basic.EntityConstants.SORT;
import static com.xueyi.common.core.constant.basic.EntityConstants.REMARK;
import static com.xueyi.common.core.constant.basic.EntityConstants.NAME;

/**
 * 厂商信息 持久化对象
 *
 * @author lwb
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "op_maker_info", excludeProperty = { STATUS, SORT, REMARK, NAME })
public class OpMakerInfoPo extends TBaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 名称 */
    @Excel(name = "名称")
    @TableField(condition = LIKE)
    protected String makerName;

    /** 简称 */
    @Excel(name = "简称")
    protected String shortName;

    /** 厂商类型 */
    @Excel(name = "厂商类型")
    protected String manufacturerType;

    /** 联系地址 */
    @Excel(name = "联系地址")
    protected String address;

    /** 所在的国家 */
    @Excel(name = "所在的国家")
    protected String country;

    /** 所在的城市 */
    @Excel(name = "所在的城市")
    protected String city;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @TableField(condition = LIKE)
    protected String phoneNumber;

    /** 传真号码 */
    @Excel(name = "传真号码")
    protected String faxNumber;

    /** 厂商邮件 */
    @Excel(name = "厂商邮件")
    protected String email;

    /** 官网地址 */
    @Excel(name = "官网地址")
    protected String website;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    protected String contactPerson;

    /** 联系人职位 */
    @Excel(name = "联系人职位")
    protected String contactPosition;

    /** 成立时间 */
    @Excel(name = "成立时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    protected Date establishmentDate;

    /** 注册资本 */
    @Excel(name = "注册资本")
    protected BigDecimal registeredCapital;

    /** 经营范围 */
    @Excel(name = "经营范围")
    protected String businessScope;

    /** 备注信息 */
    @Excel(name = "备注信息")
    protected String remarks;

}
